草庐IT

c++ - Qt:在 TreeView 中设置列

我如何为qTreeView实现qTreeWidget的代码?for(constauto&i:names){QTreeWidgetItem*item=newQTreeWidgetItem(ui->treeWidget);item->setText(0,QString::fromStdString(i));ui->treeWidget->addTopLevelItem(item);conststd::unordered_mapmap=m_reader.getMapFromEntry(i);for(constauto&j:map){QTreeWidgetItem*item2=newQTree

c++ - Qt XML 中的属性顺序不正确

我有以下代码:element.clear();element.setTagName("accountpoint");element.setAttribute("code",QString(ID_CONST)+serial);element.setAttribute("name",QString());element.setAttribute("serial",serial);QFilefile(filename);file.open(QIODevice::ReadWrite);QTextStreamstream(&file);doc.save(stream,4);我想我会得到像这样的X

c++ - 如何将额外变量传递给 Qt 插槽

我想知道如何将一个单独的变量传递到一个插槽中。我似乎无法让它工作。有什么办法解决这个问题吗?这是我的代码:QTimer*timer=newQTimer();connect(timer,SIGNAL(timeout()),this,SLOT(method(MYVARIABLE)));timer->start(4000); 最佳答案 如果您不想在您的类中声明MYVARIABLE,而是将其绑定(bind)到这个特定的信号/槽连接,您可以将信号连接到C++11lambda,使用Qt5'snewsingal/slotsyntax然后用那个la

c++ - Qt中如何获取QWidget的QTabWidget标题文本?

我知道我可以使用QTabWidget的小部件功能来从指定的选项卡中获取QPlanTextEdit。但是如何获取当前标签小部件的标签标题文本呢?QPlainTextEdit*pTextEdit=NULL;QWidget*pWidget=ui->tabWidget->widget(1);if(pWidget->metaObject()->className()=="QPlainTextEdit")pTextEdit=(QPlainTextEdit*)pWidget;else{QListallTextEdits=pWidget->findChildren();if(allTextEdits.

Qt6入门教程 10:菜单栏、工具栏和状态栏

目录一.菜单栏1.QtDesigner1.1添加菜单和菜单项1.2添加二级菜单1.3给菜单和菜单项添加图标1.4给菜单项添加功能2.纯手写二.工具栏1.QtDesigner1.1添加工具栏按钮1.2工具栏的几个重要属性2.纯手写三.状态栏1.QtDesigner2.纯手写用QtCreator新建基于QMainWindow的项目时,会自带菜单栏和状态栏。还是以前面的HelloWorld项目为例,通过QtDesigner和纯手写两种方式来添加或移除菜单栏、工具栏和状态栏。一.菜单栏1.QtDesigner菜单栏、工具栏和状态栏都可以通过右键快捷菜单添加或移除。下面以工具栏为例。添加一个工具栏移除一

c++ - Qt:在子部件上使用 QPainter

我遇到了一个简单的QWidget程序的Qt/C++问题,该程序在子QWidget中绘制了一个椭圆。程序组成:(1)父QWidget(2)子QWidget(用作椭圆的绘图表面)(3)绘制QPushButton这里是部分代码(QPushButtonSlot和Signal代码为简单起见省略)voidDraw::paintEvent(QPaintEvent*event){QPainterpainter;painter.begin(child_Widget);//Thelinewiththeproblempainter.setRenderHint(QPainter::Antialiasing,t

c++ - 通过引用传递 [C++]、[Qt]

我是这样写的:classStorage{public:Storage();QStringkey()const;intvalue()const;voidadd_item(QString&,int);private:QMap*my_map_;};voidStorage::add_item(QString&key,intvalue)//------HEREISTHESLOTFORADDING{*my_map_[key]=value;}当我尝试通过以下方式将项目添加到QMap时:classDialog:publicQDialog{Q_OBJECTpublic:Dialog(QWidget*=0

c++ - 与我的 Qt 应用程序一起工作的轻量级跨平台数据库引擎

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我正在开发一个在Windows、Mac和Linux(Ubuntu桌面)上运行的Qt应用程序。当然,开发是用C++进行的,它是一个桌面应用程序,需要持续存储和检索“tabluar”信息。我不想因为预安装MySQL或类似的东西而打扰我的用户。是否有一个轻量级数据库引擎可以用作我的应用程序的SDK,它可以本地存储在文件系统上并支持SQL查询?

c++ - 使用 Qt 创建自定义消息/事件

我有一个RPC线程正在从该线程回调我。我需要以某种方式通知Qt它需要从主线程进行函数调用。在直接Windows中,我可以通过使用自定义消息然后将该消息发布到消息队列来执行此操作,例如,我可以创建一个WM_CALLFUNCTION消息并通过wParam传递函数指针>和参数(类指针)通过lParam。有人知道我如何用Qt做到这一点吗?我遇到过QCustomEvent但我不知道如何使用它或如何处理它。任何帮助将不胜感激!编辑:最后我选择了QMetaObject::invokeMethod效果很好。 最佳答案 使用自定义事件通常涉及创建您自

c++ - Qt + VS2010 : The program can't start because <xyz>. 你的电脑缺少dll

我从以下.pro文件创建了一个visualstudio2010解决方案:TEMPLATE=appCONFIG+=qtyyyzzzdebug_and_releaseTARGET=XYZdepthINCLUDEPATH+=.#HEADERS=SOURCES=main.cppxyzMainWidget.cppyyy{LIBS+=$(YYY_DIR)/release/yyy.libINCLUDEPATH+=$(YYY_DIR)}zzz{LIBS+=$(ZZZ_DIR)/lib/x86/ZZZ.libINCLUDEPATH+=$(ZZZ_DIR)/inc}当然,我已经替换了里面的一些关键词。它引